home *** CD-ROM | disk | FTP | other *** search
/ Floppy Magazine 1987 #5 / Floppy_Magazine_87-5_1987_Megasystems_Oy_fi_Side_B.d64 / part6 (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  9KB  |  337 lines

  1. 2 v=53248:hl=50:dim l(hl,3),ta(hl),mi(hl),la(hl),aa(hl),sc$(40),n$(40)
  2. 3 poke v+21,0
  3. 10 poke53280,0:poke53281,0:r1$=" [175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175][175]":r2$="[167]":r3$="[165]":r4$=" [183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183][183]"
  4. 11 k$=""
  5. 12 gosub 1600
  6. 20 o$(0)="[152][193][194][195][196][157][157][157][157][197][199][199][200][157][157][157][157][155][201][199][199][202]"
  7. 22 o$(1)="[154][155][193][194][195][196][157][157][157][157][152][197][199][199][200][157][157][157][157][151][201][199][199][202]"
  8. 24 o$(2)="[152]][157]][157]][157]]"
  9. 26 o$(3)="[152]][157]][157]][157]]"
  10. 30 sys 49152:poke 250,1:poke 252,0:poke 254,3:l3=24:l4=29:l1=24:l2=29
  11. 40 ux(0)=94:ux(1)=94:ux(2)=30:ux(3)=157:uy(0)=205:uy(1)=73:uy(2)=113:uy(3)=113
  12. 50 r$="[156]":en=1000:po=0:vn=1.5
  13. 60 e$="[151]       [157][157][157][157][157][157][157]"
  14. 62 pi$="[151]       [157][157][157][157][157][157][157]"
  15. 70 rb$="[150]"
  16. 75 rt$(1)="[159][172][151][175][186]":rt$(4)="[155][162][162][162][162]":rt$(3)="[155][185][185][185]":rt$(2)="[159][188][151][183][208]"
  17. 76 rt$(6)="[152][184][184][184][184]":rt$(5)="[152][183][183][183]":rt$(7)="[155][175][164][157][157][152][163]"
  18. 78 vl$="................"
  19. 90 pokev,100:pokev+1,160:pokev+37,15:pokev+38,6:pokev+39,11:poke v+40,0
  20. 92 poke v+28,7:poke 33784,16:poke 33785,16:poke v+27,7:poke v+41,0
  21. 94 poke v+2,100:pokev+3,100:pokev+4,100:pokev+5,140:poke 744,0
  22. 96 poke 711,56:poke 713,57:poke 715,58:poke 717,59:poke v+42,7
  23. 98 poke 53275,peek(53275)or8
  24. 107 if peek(744)=1 then 1900
  25. 110 h=16
  26. 120 forn=0tohl
  27. 121 :form=0to3
  28. 122 ::read l(n,m)
  29. 124 :next
  30. 126 next
  31. 140 forn=0to6:read mi(n):next
  32. 150 forn=0to8:read la(n):next
  33. 160 forn=0to15:read ta(n):next
  34. 170 forn=0to3:read aa(n):next
  35. 198 poke v+21,1
  36. 199 gosub1000:gosub2000:printpi$;"0":printe$"1000"
  37. 200 if peek(743)=1 then en=en-25:print e$;en:gosub 1700:poke 743,0
  38. 205 if peek(742)=1 then poke 742,0:po=po+50:print pi$;po
  39. 207 if h=0 then if peek(744)=1 then 1900
  40. 210 if peek(251)<>0 then ls=peek(251)-1:gosub 1100:poke 251,0
  41. 220 get a$:if a$="[136]" then gosub 1200
  42. 250 poke 33784,peek(250)+a*peek(736)+15:a=-(a=0)
  43. 251 if va=0 then if rnd(1)>tn1 then va=1:poke v+21,peek(v+21)or2
  44. 255 on va gosub 700,720,730,770
  45. 283 if vb=0 then if rnd(1)>tn1 then vb=1:poke v+21,peek(v+21)or4
  46. 285 on vb gosub 740,750,760,780
  47. 300 goto 200
  48. 498 :
  49. 499 :
  50. 600 poke v+21,peek(v+21)and(255-2^sp)
  51. 610 poke v+sp*2,int(rnd(1)*131+29):poke v+sp*2+1,int(rnd(1)*131+70)
  52. 620 return
  53. 700 poke 33785,l1:l1=l1+1:if l1>29 then l1=24:va=2:poke 704,1
  54. 719 return
  55. 720 poke 33785,peek(253)+a2+16:a2=-(a2=0)
  56. 721 if rnd(1)>tn2 then poke704,0:va=3
  57. 729 return
  58. 730 poke 33785,l2:l2=l2-1:if l2<24 then l2=29:va=0:sp=1:gosub600
  59. 739 return
  60. 740 poke 33786,l3:l3=l3+l3:if l3>29 then l3=24:vb=2:poke 705,1
  61. 750 poke 33786,peek(2)+a3+16:a3=-(a3=0)
  62. 753 if rnd(1)> tn2 then poke705,0:vb=3
  63. 759 return
  64. 760 poke 33786,l4:l4=l4-1:if l4<24 then l4=29:vb=0:sp=2:gosub600
  65. 769 return
  66. 770 sp=1:gosub 600:poke 709,0:return
  67. 780 sp=2:gosub 600:poke 710,0:return
  68. 998 :
  69. 999 :
  70. 1000 if h=0 then 1500
  71. 1001 poke 738,0:print"                    [146]"
  72. 1002 print" [146][152][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192] [146]"
  73. 1003 print" [146][152]]]]]]]]]]]]]]]]]]] [146]"
  74. 1004 print" [146][151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192] [146]"
  75. 1005 forn=0to12:print" [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199] [146]":next
  76. 1006 print"                    [146]"
  77. 1007 print"[155][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  78. 1008 print"[152][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  79. 1009 print"[151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  80. 1010 forn=0to3:if l(h,n)=>0 then printo$(n)
  81. 1020 next
  82. 1030 forn=0to6:if mi(n)=h then print"[155][203]":mt=n
  83. 1032 next
  84. 1040 forn=0to8:if la(n)=h then print"[155][204]":lt=n
  85. 1042 next
  86. 1049 forn=0to15:if ta(n)=h then print"[158][205]":tt=n
  87. 1050 next
  88. 1051 forn=0to4:if aa(n)=h then print"[":at=n
  89. 1052 next
  90. 1060 print r$;"         "
  91. 1070 tn1=.5:tn2=.9
  92. 1092 va=0:vb=0:poke 704,0:poke705,0
  93. 1097 return
  94. 1098 :
  95. 1099 :
  96. 1100 if l(h,abs(ls)) <0 then return
  97. 1105 poke v+21,peek(v+21)and(255-31)
  98. 1110 h=l(h,abs(ls)):gosub 1000
  99. 1112 poke v,ux(ls):poke v+1,uy(ls)
  100. 1115 poke v+21,17:if h<>0 then poke v+8,0
  101. 1120 en=en-25+int(rnd(1)*5):print e$;en
  102. 1160 return
  103. 1198 :
  104. 1199 :
  105. 1200 ra=int((peek(v)-16)/8):sa=int((peek(v+1)-42)/8):mp=32768+ra+sa*40
  106. 1205 t=0: m(0)=mp-41:m(1)=mp-40:m(2)=mp-39:m(3)=mp-1:m(4)=mp+1:m(5)=mp+39
  107. 1206 m(6)=mp+40:m(7)=mp+41
  108. 1208 forn=0to7:if peek(m(n))=27 then poke m(n),71:aa(at)=-1:t=3
  109. 1209 next
  110. 1210 forn=0to7:if peek(m(n))=75 then poke m(n),71:mi(mt)=-1:t=1
  111. 1211 next
  112. 1212 forn=0to7:if peek(m(n))=76 then poke m(n),71:la(lt)=-1:t=2
  113. 1213 next
  114. 1214 forn=0to7:if peek(m(n))=77 then poke m(n),71:ta(tt)=0:t=4
  115. 1215 next
  116. 1220 if t=0 then return
  117. 1230 if t=3 then po=po+100:printr$"        ":printr$"bonus.":printpi$;po:return
  118. 1240 if t=2 then en=en+100:printe$;en:return
  119. 1250 if t=1 then rt=rt+1:gosub 1880:return
  120. 1260 if t=4 then s=int(rnd(1)*4+1):on s gosub 1270,1280,1290,1300
  121. 1261 return
  122. 1270 printr$"         ":printr$"teleport!"
  123. 1272 h=int(rnd(1)*51):gosub 1000
  124. 1274 return
  125. 1280 printr$"         ":printr$"weaken!"
  126. 1282 en=200:printe$;en
  127. 1284 return
  128. 1290 printr$"         ":printr$"revive!"
  129. 1292 en=2000:printe$;en
  130. 1294 return
  131. 1297 return
  132. 1298 :
  133. 1299 :
  134. 1300 printr$"         ":printr$"sleep!"
  135. 1302 poke 704,0:poke 705,0:va=4:vb=4
  136. 1304 return
  137. 1500 :
  138. 1505 poke v+21,1
  139. 1510 :
  140. 1520 print"[158]                    [146]"
  141. 1525 print" [146][151][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][158] [146]"
  142. 1526 print" [146][152][192][192][192][192][192][151][192][155]finish[151][192][152][192][192][192][192][192][158] [146]"
  143. 1527 print" [146][152][192][155][192][192][192][152][192][151][192][192][192][192][192][192][192][192][152][192][155][192][192][192][152][192][158] [146]"
  144. 1528 print" [146][152][192][155][192][192][155][192][152][192][151][192][193][194][195][194][195][196][192][152][192][155][192][192][155][192][152][192][158] [146]"
  145. 1529 print" [146][152][192][155][192][192][155][192][152][192][151][192][197][199][199][199][199][200][192][152][192][155][192][192][155][192][152][192][158] [146]"
  146. 1530 print" [146][152][192][155][192][192][192][152][192][151][192][201][199][199][199][199][202][192][152][192][155][192][192][192][152][192][158] [146]"
  147. 1531 print" [146][152][192][192][192][192][192][151][192][201][199][199][199][199][202][192][152][192][192][192][192][192][158] [146]"
  148. 1532 print" [146][151][192][192][192][192][192][192][201][199][199][199][199][202][192][192][192][192][192][192][158] [146]"
  149. 1540 print"[158] [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][158] [146]"
  150. 1542 print"[155][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][155][192]"
  151. 1543 print"[155][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][155][192]"
  152. 1544 print"[152][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][152][192]"
  153. 1545 print"[152][192][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][152][192]"
  154. 1546 print"[151][192][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][192]"
  155. 1550 forn=0to1:print" [146][151][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199][199] [146]":next
  156. 1552 print"                    [146]"
  157. 1554 forn=0to2:print"[154][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]":next
  158. 1560 printo$(1):poke 704,0:poke 705,0:va=4:vb=4
  159. 1570 poke v+8,90:poke v+9,100:poke v+43,1:poke v+21,peek(v+21)or16
  160. 1580 poke v+23,16:poke 33788,28:poke v+28,peek(v+28)or16:poke 738,1
  161. 1590 return
  162. 1598 :
  163. 1599 :
  164. 1600 print"[147]";:va$(1)="[151]":va$(2)="[152]":va$(3)="[155]":va$(4)="":va$(5)="[155]":va$(6)="[152]"
  165. 1605 va$(7)="[156]":va$(8)="":va$(9)="[144]"
  166. 1610 forn=1to7:printva$(n)
  167. 1620 print"  *       shadowrun        * "
  168. 1625 fort=0to50:next
  169. 1630 next
  170. 1631 fort=0to1000:next
  171. 1632 forn=1to8:printva$(n)
  172. 1634 print"programmed by harri holopainen"
  173. 1636 fort=0to50:next
  174. 1638 next
  175. 1640 fort=0to1200:next
  176. 1642 print"[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
  177. 1644 print"[155]    plug your joystick in port no. 1"
  178. 1646 print"[152]collect the seven pieces of excalibur"
  179. 1648 print"[151]     and escape from the castle."
  180. 1650 print"[152]       [204] - food      [205] - spell"
  181. 1652 print"[155]       [ - treasure  [203] - piece"
  182. 1654 print"[152] use  'f7'  to pick up/use things found"
  183. 1656 print"[151]        press 'f 1' to start!"
  184. 1690 get a$:if a$<>"[133]" then 1690
  185. 1695 print"[147]";:return
  186. 1698 :
  187. 1699 :
  188. 1700 if en>0 then return
  189. 1702 poke 56334,128:poke 788,49:poke 789,234:poke 56334,129
  190. 1705 poke v+21,1:poke v+42,0
  191. 1710 forn=29 to 24 step -1
  192. 1720 poke 33784,n
  193. 1730 fort=0 to 200:next
  194. 1740 next:poke v+21,0
  195. 1750 fort=0 to 500:next
  196. 1751 print"[158]\\\\\\\\\\\\\"
  197. 1752 forn=0to2:print"\           \":next
  198. 1753 print"\\\\\\\\\\\\\"
  199. 1755 forn=1 to 7:printva$(n)
  200. 1760 print"game over."
  201. 1765 fort=0to60:next
  202. 1766 next
  203. 1770 for n=1 to 8:printva$(n)
  204. 1772 print"your score:"
  205. 1774 fort=0to60:next
  206. 1776 next
  207. 1777 forn=1 to 6:printva$(n)
  208. 1778 print"";po
  209. 1779 fort=0to60:next
  210. 1780 next
  211. 1782 print"         [150]press f1 to continue "
  212. 1785 get a$:ifa$<>"[133]"then1750
  213. 1790 open 1,8,2," high scores"
  214. 1791 forn=10to1step-1:input#1,n$(n):input#1,sc(n):next
  215. 1792 close 1
  216. 1793 print"[147][159]         t o p  s c o r e s [154]"
  217. 1794 forn=1to10
  218. 1795 print"[158]"n".   [156]"left$(n$(n)+vl$,10)"......"sc(n)
  219. 1796 next
  220. 1798 print"        [158]your score was"po
  221. 1799 :
  222. 1800 if po=<sc(10) then 1850
  223. 1805 input"[152]        initials please ";pn$
  224. 1807 forn=1to10:if sc(n)<po then si=n:goto 1815
  225. 1810 next
  226. 1815 forn=10 to si step-1
  227. 1820 n$(n)=n$(n-1):sc(n)=sc(n-1)
  228. 1825 next:n$(si)=pn$:sc(si)=po
  229. 1840 open 1,8,2,"@: high scores,s,w"
  230. 1842 forn=10to1step-1:print#1,n$(n)+chr$(13):print#1,sc(n)
  231. 1846 next:close1
  232. 1850 print"[150]        press f1 to continue"
  233. 1855 get a$:ifa$<>"[133]" then 1855
  234. 1860 run
  235. 1880 print"";rt$(rt):po=po+300:printpi$;po
  236. 1881 if rt<7 then return
  237. 1882 poke 711,60:poke 713,61:poke 715,62:poke 717,63 :poke v+42,1
  238. 1890 return
  239. 1898 :
  240. 1899 :
  241. 1900 poke 738,0:po=po+5000
  242. 1903 poke 56334,128:poke 788,49:poke 789,234:poke 56334,129
  243. 1905 forn=28 to 24 step -1
  244. 1910 poke 33788,n
  245. 1920 fort=0 to 100:poke v+43,0:poke v+43,1:next
  246. 1930 next:poke v+21,1
  247. 1950 poke v+21,0
  248. 1955 print"[150]       press f1 to continue"
  249. 1957 forn=9to1step-1:printva$(n)
  250. 1960 print"congratulations!"
  251. 1965 fort=0to20:next t
  252. 1970 next n
  253. 1972 forn=9to1step-1:printva$(n)
  254. 1974 print"your score:"po
  255. 1975 fort=0to20:next
  256. 1976 next
  257. 1980 get a$:if a$<>"[133]" then 1957
  258. 1990 goto 1790
  259. 1998 :
  260. 1999 :
  261. 2000 print"]]]][158]energy]]]]"
  262. 2002 print"][150]]         [150] ]]"
  263. 2004 print"][150]]          ]]"
  264. 2006 print"][150]]          ]]"
  265. 2008 print"][150]]]][158]score[150]]]]]]"
  266. 2010 print"][150]]          ]]"
  267. 2012 print"][150]]          ]]"
  268. 2014 print"][150]]          ]]"
  269. 2016 print"][150]]]][158]magic[150]]]]]]"
  270. 2018 print"][150]]          ]]"
  271. 2020 print"][150]]          ]]"
  272. 2022 print"][150]]          ]]"
  273. 2024 print"]]]]]]]]]]]]]]"
  274. 2097 :
  275. 2098 :
  276. 2099 return
  277. 10000 data -1,3,-1,-1
  278. 10001 data -1,6,-1,-1
  279. 10002 data -1,-1,3,-1
  280. 10003 data 0,9,4,2
  281. 10004 data -1,-1,5,3
  282. 10005 data -1,-1,6,4
  283. 10006 data 1,-1,-1,5
  284. 10007 data -1,13,8,-1
  285. 10008 data -1,-1,9,7
  286. 10009 data 3,14,10,8
  287. 10010 data -1,-1,11,9
  288. 10011 data -1,30,12,10
  289. 10012 data -1,-1,-1,11
  290. 10013 data 7,-1,-1,-1
  291. 10014 data 9,-1,-1,15
  292. 10015 data -1,16,14,-1
  293. 10016 data 15,17,-1,-1
  294. 10017 data 16,18,19,-1
  295. 10018 data 17,-1,-1,-1
  296. 10019 data -1,20,25,17
  297. 10020 data 19,21,24,-1
  298. 10021 data 20,22,-1,-1
  299. 10022 data 21,-1,23,-1
  300. 10023 data -1,36,-1,22
  301. 10024 data 25,-1,31,20
  302. 10025 data -1,24,26,19
  303. 10026 data 27,31,-1,25
  304. 10027 data 30,26,28,-1
  305. 10028 data -1,-1,29,27
  306. 10029 data -1,-1,-1,28
  307. 10030 data 11,27,-1,-1
  308. 10031 data 26,-1,32,24
  309. 10032 data -1,-1,33,31
  310. 10033 data -1,-1,-1,32
  311. 10034 data 37,37,35,36
  312. 10035 data -1,-1,36,34
  313. 10036 data 23,-1,34,35
  314. 10037 data 34,34,-1,38
  315. 10038 data -1,-1,37,39
  316. 10039 data 40,41,38,-1
  317. 10040 data -1,34,-1,-1
  318. 10041 data 39,42,-1,-1
  319. 10042 data 41,-1,43,-1
  320. 10043 data -1,-1,44,42
  321. 10044 data -1,47,45,43
  322. 10045 data -1,48,46,44
  323. 10046 data 50,49,-1,45
  324. 10047 data 44,-1,48,-1
  325. 10048 data 45,-1,49,47
  326. 10049 data 46,-1,-1,48
  327. 10050 data -1,46,-1,-1
  328. 10498 :
  329. 10499 :
  330. 10500 data 13,16,29,18,33,40,50
  331. 10510 data 4,8,11,27,24,23,42,45,37
  332. 10520 data 1,2,4,7,10,12,14,17,25,31,21,35,41,43,46,47
  333. 10530 data 30,31,40,44,48
  334. 20000 open 2,8,2,"@: high scores,s,w"
  335. 20001 forn=1to10:print#2,"....."+chr$(13):print#2,n*50
  336. 20002 next:close2
  337.